with Ada.Containers.Vectors;
with Ada.Streams;
with Ada.Text_IO;
package Extended is
   X1 = 1;
   function X2 return Integer := 2;
   function X3 = 3;
   package X4 is new Ada.Containers.Vectors with private;
   package X5 is
   end X5 with private;
   type X6 and X7;
   type X6 is new Ada.Text_IO.File_Type;
   type X7 is new Ada.Text_IO.Count;
   type X8 is new Ada.Streams.Root_Stream_Type with null record;
   overriding (Ada.Streams.Read) procedure X9 (Stream : in out X8;
      Item : out Ada.Streams.Stream_Element_Array;
      Last : out Ada.Streams.Stream_Element_Offset);
   overriding (Ada.Streams.Write) procedure X10 (Stream : in out X8;
      Item : in Ada.Streams.Stream_Element_Array) is null;
private
   procedure X8'Finalize (Object : in out X8) is null;
   package X4 is new Ada.Containers.Vectors (Positive, Integer);
   package X5 is
   end X5;
end Extended;

package body Extended is
   procedure X9 (Stream : in out X8;
      Item : out Ada.Streams.Stream_Element_Array;
      Last : out Ada.Streams.Stream_Element_Offset)
   is
      function X11 return Integer;
   begin
      if X11 = 0 then
         raise Program_Error;
      end if;
   terminate
      Ada.Text_IO.Put_Line ("Ok!");
   body
      function X11 return Integer is
      begin
         if True then 0 else case 0 is when 0 => 0 when others => begin 0 end end case end if
      end;
   end X10;
   package X12 is
      procedure X13 is
      begin
         null;
      end X13;
   end X12;
   task X14 is
      entry X15;
      X16 : Integer;
   begin
      accept X15;
   end X14;
   protected X17 is
      X18 : Integer;
      procedure X19 is
      begin
         null;
      end X19;
      entry X20 (X21 : in out aliased Integer) is
      begin
         case X21 is
            when X22 : 0 .. 1 => null;
            when others => null;
         end case;
      end X20;
   end X17;
   X23 : Character := [0a];
   X24 : Wide_Character := [000a];
   X25 : Wide_Wide_Character := [0000_000a];
   type X26 is ('A', 'B', [43]);
   type X27 is ([00] .. [ff]);
   generic
      X28 : Integer;
   function X29 return Integer is
   begin
      return X28;
   end X28;
end Extended;
